;;; english-menu.el --- mule-menu template

;; Copyright 2006 Ye Wenbin
;;
;; Author: wenbinye@163.com
;; Time-stamp: <Ye Wenbin 2007-02-13 11:39:30>
;; Version: $Id: english-menu.el,v 1.1.1.1 2007-03-13 13:16:10 ywb Exp $
;; Keywords: 
;; X-URL: not distributed yet

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; if not, write to the Free Software
;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

;;; Commentary:
;; 

;; Put this file into your load-path and the following into your ~/.emacs:
;;   (require 'english-menu)

;;; Code:

(provide 'english-menu)
(eval-when-compile
  (require 'cl))

(defvar mule-menu-languages-list nil)
(defvar mule-menu-menu nil)
(add-to-list 'mule-menu-languages-list '("English" "english-menu"))

(setq mule-menu-menu
      '(
        ;;{{{  global
        (t
         (file "File"
               (new-file "Visit New File..." :help "Specify a new file's name, to edit the file")
               (open-file "Open File..." :help "Read an existing file into an Emacs buffer")
               (dired "Open Directory..." :help "Read a directory, to operate on its files")
               (insert-file "Insert File..." :help "Insert another file into current buffer")
               (kill-buffer "Close" :help "Discard (kill) current buffer")
               (save-buffer "Save" :help "Save current buffer to its file")
               (write-file "Save As..." :help "Write current buffer to another file")
               (revert-buffer "Revert Buffer" :help "Re-read current buffer from its file")
               (recover-session "Recover Crashed Session" :help "Recover edits from a crashed session")
               (print-buffer "Print Buffer" :help "Print current buffer with page headings")
               (print-region "Print Region" :help "Print region between mark and current position")
               (ps-print-buffer-faces "Postscript Print Buffer" :help "Pretty-print current buffer to PostScript printer")
               (ps-print-region-faces "Postscript Print Region" :help "Pretty-print marked region to PostScript printer")
               (ps-print-buffer "Postscript Print Buffer (B+W)" :help "Pretty-print current buffer in black and white to PostScript printer")
               (ps-print-region "Postscript Print Region (B+W)" :help "Pretty-print marked region in black and white to PostScript printer")
               (split-window "Split Window" :help "Split selected window in two windows")
               (one-window "Remove Splits" :help "Selected window grows to fill the whole frame")
               (make-frame "New Frame" :help "Open a new frame")
               (make-frame-on-display "New Frame on Display..." :help "Open a new frame on another display")
               (delete-this-frame "Delete Frame" :help "Delete currently selected frame")
               (exit-emacs "Exit Emacs" :help "Save unsaved buffers, then exit"))
         (edit "Edit"
               (undo "Undo" :help "Undo last operation")
               (cut "Cut")
               (copy "Copy")
               (paste "Paste" :help "Paste (yank) text most recently cut/copied")
               (select-paste "Select and Paste")
               (clear "Clear" :help "Delete the text in region between mark and current position")
               (mark-whole-buffer "Select All" :help "Mark the whole buffer for a subsequent cut/copy.")
               (search "Search"
                       (search-forward "String Forward..." :help "Search forward for a string")
                       (search-backward "String Backwards..." :help "Search backwards for a string")
                       (re-search-forward "Regexp Forward..." :help "Search forward for a regular expression")
                       (re-search-backward "Regexp Backwards..." :help "Search backwards for a regular expression")
                       (repeat-search-fwd "Repeat Forward" :help "Repeat last search forward")
                       (repeat-search-back "Repeat Backwards" :help "Repeat last search backwards")
                       (tags-srch "Search tagged files..." :help "Search for a regexp in all tagged files")
                       (tags-continue "Continue Tags Search" :help "Continue last tags search operation")
                       (i-search "Incremental Search"
                                 (isearch-forward "Forward String..." :help "Search forward for a string as you type it")
                                 (isearch-backward "Backward String..." :help "Search backwards for a string as you type it")
                                 (isearch-forward-regexp "Forward Regexp..." :help "Search forward for a regular expression as you type it")
                                 (isearch-backward-regexp "Backward Regexp..." :help "Search backwards for a regular expression as you type it")))
               (replace "Replace"
                        (query-replace "Replace String..." :help "Replace string interactively, ask about each occurrence")
                        (query-replace-regexp "Replace Regexp..." :help "Replace regular expression interactively, ask about each occurrence")
                        (tags-repl "Replace in tagged files..." :help "Interactively replace a regexp in all tagged files")
                        (tags-repl-continue "Continue Replace" :help "Continue last tags replace operation"))
               (goto "Go To"
                     (go-to-line "Goto Line..." :help "Read a line number and go to that line")
                     (go-to-pos "Goto Buffer Position..." :help "Read a number N and go to buffer position N")
                     (beg-of-buf "Goto Beginning of Buffer")
                     (end-of-buf "Goto End of Buffer")
                     (find-tag "Find Tag..." :help "Find definition of function or variable")
                     (find-tag-otherw "Find Tag in Other Window..." :help "Find function/variable definition in another window")
                     (next-tag "Find Next Tag" :help "Find next function/variable matching last tag name")
                     (next-tag-otherw "Next Tag in Other Window" :help "Find next function/variable matching last tag name in another window")
                     (apropos-tags "Tags Apropos..." :help "Find function/variables whose names match regexp")
                     (set-tags-name "Set Tags File Name..." :help "Tell Tags commands which tag table file to use"))
               (bookmark "Bookmarks")
               (fill "Fill" :help "Fill text in region to fit between left and right margin")
               (props "Text Properties"))
         (options "Options"
                  (transient-mark-mode "Active Region Highlighting" :help "Make text in active region stand out in color (Transient Mark mode)")
                  (highlight-paren-mode "Paren Match Highlighting" :help "Highlight matching/mismatched parentheses at cursor (Show Paren mode)")
                  (truncate-lines "Truncate Long Lines in this Buffer" :help "Truncate long lines on the screen")
                  (auto-fill-mode "Word Wrap in Text Modes" :help "Automatically fill text between left and right margins (Auto Fill)")
                  (case-fold-search "Case-Insensitive Search" :help "Ignore letter-case in search")
                  (cua-emulation-mode "Shift movement mark region (CUA)" :help "Use shifted movement keys to set and extend the region.")
                  (cua-mode "C-x/C-c/C-v Cut and Paste (CUA)" :help "Use C-z/C-x/C-c/C-v keys for undo/cut/copy/paste")
                  (uniquify "Use Directory Names in Buffer Names" :help "Uniquify buffer names by adding parent directory names")
                  (save-place "Save Place in Files between Sessions" :help "Visit files of previous session when restarting Emacs")
                  (blink-cursor-mode "Blinking Cursor" :help "Whether the cursor blinks (Blink Cursor mode)")
                  (debug-on-error "Enter Debugger on Error" :help "Enter Lisp debugger when an error is signaled")
                  (debug-on-quit "Enter Debugger on Quit/C-g" :help "Enter Lisp debugger when C-g is pressed")
                  (mule "Mule (Multilingual Environment)"
                        (set-language-environment "Set Language Environment"
                                                  (Default "Default")
                                                  (Chinese "Chinese")
                                                  (Cyrillic "Cyrillic")
                                                  (Indian "Indian")
                                                  (English "English")
                                                  (ASCII "ASCII")
                                                  (Ethiopic "Ethiopic")
                                                  (European "European")
                                                  (Turkish "Turkish")
                                                  (Greek "Greek")
                                                  (Hebrew "Hebrew")
                                                  (Windows-1255 "Windows-1255")
                                                  (Japanese "Japanese")
                                                  (Korean "Korean")
                                                  (Lao "Lao")
                                                  (Thai "Thai")
                                                  (Tibetan "Tibetan")
                                                  (Vietnamese "Vietnamese")
                                                  (IPA "IPA")
                                                  (UTF-8 "UTF-8"))
                        (toggle-input-method "Toggle Input Method")
                        (set-input-method "Select Input Method...")
                        (set-various-coding-system "Set Coding Systems"
                                                   (universal-coding-system-argument "For Next Command" :help "Coding system to be used by next command")
                                                   (set-buffer-file-coding-system "For Saving This Buffer" :help "How to encode this buffer when saved")
                                                   (revert-buffer-with-coding-system "For Reverting This File Now" :help "Revisit this file immediately using specified coding system")
                                                   (set-file-name-coding-system "For File Name" :help "How to decode/encode file names")
                                                   (set-keyboard-coding-system "For Keyboard" :help "How to decode keyboard input")
                                                   (set-terminal-coding-system "For Terminal" :help "How to encode terminal output")
                                                   (set-selection-coding-system "For X Selections/Clipboard" :help "How to en/decode data to/from selection/clipboard")
                                                   (set-next-selection-coding-system "For Next X Selection" :help "How to en/decode next selection/clipboard operation")
                                                   (set-buffer-process-coding-system "For I/O with Subprocess" :help "How to en/decode I/O from/to subprocess connected to this buffer"))
                        (view-hello-file "Show Multi-lingual Text" :help "Display file which says HELLO in many languages")
                        (describe-language-environment "Describe Language Environment"
                                                       (Default "Default")
                                                       (Chinese "Chinese")
                                                       (Cyrillic "Cyrillic")
                                                       (Indian "Indian")
                                                       (English "English")
                                                       (ASCII "ASCII")
                                                       (Ethiopic "Ethiopic")
                                                       (European "European")
                                                       (Turkish "Turkish")
                                                       (Greek "Greek")
                                                       (Hebrew "Hebrew")
                                                       (Windows-1255 "Windows-1255")
                                                       (Japanese "Japanese")
                                                       (Korean "Korean")
                                                       (Lao "Lao")
                                                       (Thai "Thai")
                                                       (Tibetan "Tibetan")
                                                       (Vietnamese "Vietnamese")
                                                       (IPA "IPA")
                                                       (UTF-8 "UTF-8"))
                        (describe-input-method "Describe Input Method..." :help "Keyboard layout for a specific input method")
                        (describe-coding-system "Describe Coding System...")
                        (list-character-sets "List Character Sets" :help "Show table of available character sets")
                        (mule-diag "Show All of Mule Status" :help "Display multilingual environment settings"))
                  (showhide "Show/Hide"
                            (showhide-tool-bar "Tool-bar" :help "Turn tool-bar on/off")
                            (menu-bar-mode "Menu-bar" :help "Toggle menu-bar on/off")
                            (showhide-tooltip-mode "Tooltips" :help "Toggle tooltips on/off")
                            (showhide-scroll-bar "Scroll-bar"
                                                 (none "None" :help "Turn off scroll-bar")
                                                 (left "On the Left" :help "Scroll-bar on the left side")
                                                 (right "On the Right" :help "Scroll-bar on the right side"))
                            (showhide-fringe "Fringe"
                                             (none "None" :help "Turn off fringe")
                                             (left "On the Left" :help "Fringe only on the left side")
                                             (right "On the Right" :help "Fringe only on the right side")
                                             (default "Default" :help "Default width fringe on both left and right side")
                                             (customize "Customize Fringe" :help "Detailed customization of fringe")
                                             (indicate-empty-lines "Empty Line Indicators" :help "Indicate trailing empty lines in fringe")
                                             (showhide-fringe-ind "Buffer Boundaries"
                                                                  (none "No Indicators" :help "Hide all buffer boundary indicators and arrows")
                                                                  (left "In Left Fringe" :help "Show buffer boundaries and arrows in left fringe")
                                                                  (right "In Right Fringe" :help "Show buffer boundaries and arrows in right fringe")
                                                                  (box "Opposite, No Arrows" :help "Show top/bottom indicators in opposite fringes, no arrows")
                                                                  (mixed "Opposite, Arrows Right" :help "Show top/bottom indicators in opposite fringes, arrows in right")
                                                                  (customize "Other (Customize)" :help "Additional choices available through Custom buffer")))
                            (showhide-speedbar "Speedbar" :help "Display a Speedbar quick-navigation frame")
                            (showhide-date-time "Time, Load and Mail" :help "Display time, system load averages and mail status in mode line")
                            (showhide-battery "Battery Status" :help "Display battery status information in mode line")
                            (size-indication-mode "Size Indication" :help "Show the size of the buffer in the mode line")
                            (line-number-mode "Line Numbers" :help "Show the current line number in the mode line")
                            (column-number-mode "Column Numbers" :help "Show the current column number in the mode line"))
                  (mouse-set-font "Set Font/Fontset..." :help "Select a font from list of known fonts/fontsets")
                  (save "Save Options" :help "Save options set from the menu above")
                  (customize "Customize Emacs"
                             (customize "Top-level Customization Group" :help "The master group called `Emacs'")
                             (customize-browse "Browse Customization Groups" :help "Browse all customization groups")
                             (customize-saved "Saved Options" :help "Customize previously saved options")
                             (customize-changed-options "New Options..." :help "Options added or changed in recent Emacs versions")
                             (customize-option "Specific Option..." :help "Customize value of specific option")
                             (customize-face "Specific Face..." :help "Customize attributes of specific face")
                             (customize-group "Specific Group..." :help "Customize settings of specific group")
                             (customize-apropos "Settings Matching Regexp..." :help "Browse customizable settings whose names match regexp")
                             (customize-apropos-options "Options Matching Regexp..." :help "Browse options whose names match regexp")
                             (customize-apropos-faces "Faces Matching Regexp..." :help "Browse faces whose names match regexp")
                             (customize-apropos-groups "Groups Matching Regexp..." :help "Browse groups whose names match regexp")))
         (buffer "Buffers"
                 (next-buffer "Next Buffer" :help "Switch to the \"next\" buffer in a cyclic order")
                 (previous-buffer "Previous Buffer" :help "Switch to the \"previous\" buffer in a cyclic order")
                 (select-named-buffer "Select Named Buffer..." :help "Prompt for a buffer name, and select that buffer in the current window")
                 (list-all-buffers "List All Buffers" :help "Pop up a window listing all Emacs buffers"))
         (tools "Tools"
                (grep "Search Files (with grep)..." :help "Search files for strings or regexps (with grep)")
                (compile "Compile..." :help "Invoke compiler or Make, view compilation errors")
                (shell "Shell Command..." :help "Invoke a shell command and catch its output")
                (shell-on-region "Shell Command on Region..." :help "Pass marked region to a shell command")
                (gdb "Debugger (GDB)..." :help "Debug a program from within Emacs with GDB")
                (spell "Spell Checking")
                (compare "Compare (Ediff)")
                (ediff-merge "Merge")
                (epatch "Apply Patch")
                (ediff-misc "Ediff Miscellanea")
                (vc "Version Control"
                    (vc-register "Register")
                    (vc-next-action "Check In/Out")
                    (vc-update "Update to Latest Version")
                    (vc-revert-buffer "Revert to Base Version")
                    (undo "Undo Last Check-In")
                    (vc-insert-header "Insert Header")
                    (vc-print-log "Show History")
                    (vc-update-change-log "Update ChangeLog")
                    (vc-diff "Compare with Base Version")
                    (vc-version-other-window "Show Other Version")
                    (vc-rename-file "Rename File")
                    (vc-annotate "Annotate")
                    (vc-directory "VC Directory Listing")
                    (vc-create-snapshot "Create Snapshot")
                    (vc-retrieve-snapshot "Retrieve Snapshot"))
                (pcl-cvs "PCL-CVS")
                (gnus "Read Net News (Gnus)" :help "Read network news groups")
                (rmail
                 (format "Read Mail (with %s)"
                         (read-mail-item-name))
                 :help "Read your mail and reply to it")
                (compose-mail
                 (format "Send Mail (with %s)"
                         (send-mail-item-name))
                 :help "Send a mail message")
                (directory-search "Directory Search")
                (calendar "Calendar")
                (calc "Programmable Calculator" :help "Invoke the Emacs built-in full scientific calculator")
                (simple-calculator "Simple Calculator" :help "Invoke the Emacs built-in quick calculator")
                (games "Games"
                       (5x5 "5x5" :help "Fill in all the squares on a 5x5 board")
                       (adventure "Adventure" :help "Dunnet, a text Adventure game for Emacs")
                       (black-box "Blackbox" :help "Find balls in a black box by shooting rays")
                       (gomoku "Gomoku" :help "Mark 5 contiguous squares (like tic-tac-toe)")
                       (hanoi "Towers of Hanoi" :help "Watch Towers-of-Hanoi puzzle solved by Emacs")
                       (life "Life" :help "Watch how John Conway's cellular automaton evolves")
                       (mult "Multiplication Puzzle" :help "Exercise brain with multiplication")
                       (snake "Snake" :help "Move snake around avoiding collisions")
                       (solitaire "Solitaire")
                       (tetris "Tetris")
                       (zone "Zone Out" :help "Play tricks with Emacs display when Emacs is idle")))
         (help-menu "Help"
                    (emacs-tutorial "Emacs Tutorial" :help "Learn how to use Emacs")
                    (emacs-tutorial-language-specific "Emacs Tutorial (choose language)..." :help "Learn how to use Emacs (choose a language)")
                    (emacs-faq "Emacs FAQ")
                    (emacs-news "Emacs News" :help "New features of this version")
                    (emacs-problems "Emacs Known Problems")
                    (report-emacs-bug "Send Bug Report..." :help "Send e-mail to Emacs maintainers")
                    (apropos "Search Documentation"
                             (emacs-glossary "Emacs Terminology" :help "Display the Glossary section of the Emacs manual")
                             (emacs-index-search "Look Up Subject in User Manual..." :help "Find description of a subject in Emacs User manual")
                             (elisp-index-search "Look Up Subject in ELisp Manual..." :help "Find description of a subject in Emacs Lisp manual")
                             (emacs-key-command-node "Look Up Key in User Manual..." :help "Display manual section that describes a key")
                             (emacs-command-node "Look Up Command in User Manual..." :help "Display manual section that describes a command")
                             (apropos-commands "Find Commands by Name..." :help "Find commands whose names match a regexp")
                             (apropos-variables "Find Options by Name..." :help "Find variables whose names match a regexp")
                             (apropos-value "Find Options by Value..." :help "Find variables whose values match a regexp")
                             (apropos "Find Any Object by Name..." :help "Find symbols of any kind whose names match a regexp")
                             (apropos-documentation "Search Documentation Strings..." :help "Find functions and variables whose doc strings match a regexp"))
                    (describe "Describe"
                              (describe-mode "Describe Buffer Modes" :help "Describe this buffer's major and minor mode")
                              (describe-key-1 "Describe Key or Mouse Operation..." :help "Display documentation of command bound to a key, a click, or a menu-item")
                              (describe-function "Describe Function..." :help "Display documentation of function/command")
                              (describe-variable "Describe Variable..." :help "Display documentation of variable/option")
                              (describe-face "Describe Face..." :help "Display the properties of a face")
                              (describe-current-display-table "Describe Display Table" :help "Describe the current display table")
                              (list-keybindings "List Key Bindings" :help "Display all current keybindings (keyboard shortcuts)")
                              (describe-language-environment "Describe Language Environment"
                                                             (Default "Default")
                                                             (Chinese "Chinese")
                                                             (Cyrillic "Cyrillic")
                                                             (Indian "Indian")
                                                             (English "English")
                                                             (ASCII "ASCII")
                                                             (Ethiopic "Ethiopic")
                                                             (European "European")
                                                             (Turkish "Turkish")
                                                             (Greek "Greek")
                                                             (Hebrew "Hebrew")
                                                             (Windows-1255 "Windows-1255")
                                                             (Japanese "Japanese")
                                                             (Korean "Korean")
                                                             (Lao "Lao")
                                                             (Thai "Thai")
                                                             (Tibetan "Tibetan")
                                                             (Vietnamese "Vietnamese")
                                                             (IPA "IPA")
                                                             (UTF-8 "UTF-8"))
                              (describe-input-method "Describe Input Method..." :help "Keyboard layout for specific input method")
                              (describe-coding-system "Describe Coding System...")
                              (describe-coding-system-briefly "Describe Coding System (Briefly)...")
                              (mule-diag "Show All of Mule Status" :help "Display multilingual environment settings"))
                    (emacs-manual "Read the Emacs Manual" :help "Full documentation of Emacs features")
                    (manuals "More Manuals"
                             (info-elintro "Introduction to Emacs Lisp" :help "Read the Introduction to Emacs Lisp Programming")
                             (info-elisp "Emacs Lisp Reference" :help "Read the Emacs Lisp Reference manual")
                             (info "All Other Manuals (Info)" :help "Read any of the installed manuals")
                             (info-apropos "Lookup Subject in all manuals..." :help "Find description of a subject in all installed manuals")
                             (order-emacs-manuals "Ordering Manuals" :help "How to order manuals from the Free Software Foundation")
                             (man "Read Man Page..." :help "Man-page docs for external commands and libraries"))
                    (finder-by-keyword "Find Emacs Packages" :help "Find packages and features by keyword")
                    (about "About Emacs" :help "Display version number, copyright info, and basic help")
                    (more "External Packages" :help "Lisp packages distributed separately for use in Emacs")
                    (describe-distribution "Getting New Versions" :help "How to get latest versions of Emacs")
                    (describe-copying "Copying Conditions" :help "Show the Emacs license (GPL)")
                    (describe-no-warranty "(Non)Warranty" :help "Explain that Emacs has NO WARRANTY")
                    (eliza "Emacs Psychotherapist" :help "Our doctor will help you feel better")))
        ;;}}}
        ;;{{{  hs-minor-mode
        (hs-minor-mode
         (Hide/Show "Hide/Show"
                    (Hide\ Block "Hide Block")
                    (Show\ Block "Show Block")
                    (Hide\ All "Hide All")
                    (Show\ All "Show All")
                    (Hide\ Level "Hide Level")
                    (Toggle\ Hiding "Toggle Hiding")))
        ;;}}}
        ((eq major-mode 'chinese-chess-mode)
         (chinese-chess-mode
          (Chess "Chess"
                 (Reset "Reset")
                 (Back "Back")
                 (Save "Save")
                 (Load "Load")
                 (Turn "Turn")
                 (Put "Put"))))
        ;;{{{  outline-minor-mode
        (outline-minor-mode
         (outline "Outline"
                  (outline-up-heading "Up")
                  (outline-next-visible-heading "Next")
                  (outline-previous-visible-heading "Previous")
                  (outline-forward-same-level "Next Same Level")
                  (outline-backward-same-level "Previous Same Level")
                  (outline-insert-heading "New heading")
                  (copy "Copy to kill ring")
                  (move-subtree-up "Move subtree up")
                  (move-subtree-down "Move subtree down")
                  (promote-subtree "Promote subtree")
                  (demote-subtree "Demote subtree")
                  (show-all "Show All")
                  (show-entry "Show Entry")
                  (show-branches "Show Branches")
                  (show-children "Show Children")
                  (show-subtree "Show Subtree")
                  (hide-leaves "Hide Leaves")
                  (hide-body "Hide Body")
                  (hide-entry "Hide Entry")
                  (hide-subtree "Hide Subtree")
                  (hide-sublevels "Hide Sublevels")
                  (hide-other "Hide Other")))
        ;;}}}
        ;;{{{  outline-mode
        ((eq major-mode 'outline)
         (headings "Headings"
                   (outline-up-heading "Up")
                   (outline-next-visible-heading "Next")
                   (outline-previous-visible-heading "Previous")
                   (outline-forward-same-level "Next Same Level")
                   (outline-backward-same-level "Previous Same Level")
                   (outline-insert-heading "New heading")
                   (copy "Copy to kill ring")
                   (move-subtree-up "Move subtree up")
                   (move-subtree-down "Move subtree down")
                   (promote-subtree "Promote subtree")
                   (demote-subtree "Demote subtree"))
         (show "Show"
               (show-all "Show All")
               (show-entry "Show Entry")
               (show-branches "Show Branches")
               (show-children "Show Children")
               (show-subtree "Show Subtree"))
         (hide "Hide"
               (hide-leaves "Hide Leaves")
               (hide-body "Hide Body")
               (hide-entry "Hide Entry")
               (hide-subtree "Hide Subtree")
               (hide-sublevels "Hide Sublevels")
               (hide-other "Hide Other")))
        ;;}}}
        ((and (featurep 'session)
              (key-binding [menu-bar file Open\.\.\.recently\ changed]))
         (file "File"
               (Open\.\.\.recently\ changed "Open...recently changed")
               (Open\.\.\.recently\ visited "Open...recently visited")))
        ((and (featurep 'template)
              (key-binding [menu-bar file template-new-file]))
         (file "File"
               (template-new-file "New File Using Template..." :help "Create a new file, using a template")))
        ((and (featurep 'mule-menu)
              (key-binding [menu-bar options mule set-menu-language]))
         (options "Options"
                  (mule "Mule (Multilingual Environment)"
                        (set-menu-language "Set Menu Language"))))
        ;;{{{  emacs-lisp-mode
        ((eq major-mode 'emacs-lisp-mode)
         (emacs-lisp "Emacs-Lisp"
                     (indent-line "Indent Line")
                     (indent-region "Indent Region")
                     (comment-region "Comment Out Region")
                     (eval-sexp "Evaluate Last S-expression")
                     (eval-region "Evaluate Region")
                     (eval-buffer "Evaluate Buffer")
                     (byte-compile "Byte-compile This File")
                     (emacs-byte-compile-and-load "Byte-compile And Load")
                     (byte-recompile "Byte-recompile Directory...")
                     (edebug-defun "Instrument Function for Debugging")))
        ;;}}}
        ;;{{{  ibuffer-mode
        ((eq major-mode 'ibuffer-mode)
         (operate "Operate"
                  (do-view "View")
                  (do-view-other-frame "View (separate frame)")
                  (do-save "Save")
                  (do-replace-regexp "Replace (regexp)...")
                  (do-query-replace "Query Replace...")
                  (do-query-replace-regexp "Query Replace (regexp)...")
                  (do-print "Print")
                  (do-toggle-modified "Toggle modification flag")
                  (do-revert "Revert")
                  (do-rename-uniquely "Rename Uniquely")
                  (do-delete "Kill")
                  (do-occur "List lines matching...")
                  (do-shell-command-pipe "Pipe to shell command...")
                  (do-shell-command-pipe-replace "Pipe to shell command (replace)...")
                  (do-shell-command-file "Shell command on buffer's file...")
                  (do-eval "Eval...")
                  (do-view-and-eval "Eval (viewing buffer)..."))
         (view "View"
               (visit-buffer "View this buffer")
               (visit-buffer-other-window "View (other window)")
               (visit-buffer-other-frame "View (other frame)")
               (ibuffer-update "Update")
               (switch-format "Switch display format")
               (sort "Sort"
                     (do-sort-by-major-mode "Sort by major mode")
                     (do-sort-by-size "Sort by buffer size")
                     (do-sort-by-alphabetic "Sort lexicographically")
                     (do-sort-by-recency "Sort by view time")
                     (invert-sorting "Reverse sorting order")
                     (toggle-sorting-mode "Switch sorting mode"))
               (filter "Filter"
                       (filter-disable "Disable all filtering")
                       (filter-by-mode "Add filter by major mode in use...")
                       (filter-by-name "Add filter by buffer name...")
                       (filter-by-filename "Add filter by filename...")
                       (filter-by-size-lt "Add filter by size less than...")
                       (filter-by-size-gt "Add filter by size greater than...")
                       (filter-by-content "Add filter by content (regexp)...")
                       (filter-by-predicate "Add filter by Lisp predicate...")
                       (pop-filter "Remove top filter")
                       (or-filter "OR top two filters")
                       (negate-filter "Negate top filter")
                       (decompose-filter "Decompose top filter")
                       (exchange-filters "Swap top two filters")
                       (save-filters "Save current filters permanently...")
                       (switch-to-saved-filters "Restore permanently saved filters...")
                       (add-saved-filters "Add to permanently saved filters...")
                       (delete-saved-filters "Delete permanently saved filters..."))
               (filter-groups "Filter Groups"
                              (filters-to-filter-group "Create filter group from current filters...")
                              (forward-filter-group "Move point to the next filter group")
                              (backward-filter-group "Move point to the previous filter group")
                              (jump-to-filter-group "Move point to a specific filter group...")
                              (kill-filter-group "Kill filter group named...")
                              (yank-filter-group "Yank last killed filter group before...")
                              (clear-filter-groups "Remove all filter groups")
                              (pop-filter-group "Decompose filter group...")
                              (save-filter-groups "Save current filter groups permanently...")
                              (switch-to-saved-filter-groups "Restore permanently saved filters...")
                              (delete-saved-filter-groups "Delete permanently saved filter groups...")
                              (set-filter-groups-by-mode "Set current filter groups to filter by mode"))
               (diff-with-file "Diff with file")
               (auto-mode "Toggle Auto Mode")
               (customize "Customize Ibuffer"))
         (mark "Mark"
               (toggle-marks "Toggle marks")
               (mark-forward "Mark")
               (unmark-forward "Unmark")
               (mark-by-mode "Mark by mode...")
               (mark-modified-buffers "Mark modified buffers")
               (mark-unsaved-buffers "Mark unsaved buffers")
               (mark-read-only-buffers "Mark read-only buffers")
               (mark-special-buffers "Mark special buffers")
               (mark-dired-buffers "Mark dired buffers")
               (mark-dissociated-buffers "Mark dissociated buffers")
               (mark-help-buffers "Mark help buffers")
               (mark-compressed-file-buffers "Mark compressed file buffers")
               (mark-old-buffers "Mark old buffers")
               (unmark-all "Unmark All")
               (mark-by-name-regexp "Mark by buffer name (regexp)...")
               (mark-by-mode-regexp "Mark by major mode (regexp)...")
               (mark-by-file-name-regexp "Mark by file name (regexp)...")))
        ;;}}}
        ;;{{{  dired-mode
        ((eq major-mode 'dired-mode)
         (operate "Operate"
                  (copy "Copy to...")
                  (rename "Rename to...")
                  (delete "Delete")
                  (find-files "Find files")
                  (command "Shell Command...")
                  (symlink "Symlink to...")
                  (relsymlink "Relative symlink to...")
                  (hardlink "Hardlink to...")
                  (print "Print...")
                  (compress "Compress")
                  (compile "Byte-compile")
                  (load "Load")
                  (touch "Change Timestamp...")
                  (chmod "Change Mode...")
                  (chgrp "Change Group...")
                  (chown "Change Owner...")
                  (search "Search Files...")
                  (query-replace "Query Replace in Files...")
                  (tumme-display-thumbs "Display Thumbnails")
                  (tumme-dired-comment-files "Add Image Comment...")
                  (tumme-tag-files "Add Image Tags...")
                  (tumme-delete-tag "Delete Image Tag..."))
         (mark "Mark"
               (toggle-marks "Toggle Marks")
               (mark "Mark")
               (unmark "Unmark")
               (deletion "Flag")
               (auto-save-files "Flag Auto-save Files")
               (backup-files "Flag Backup Files")
               (garbage-files "Flag Garbage Files")
               (flag-extension "Flag extension...")
               (executables "Mark Executables")
               (directory "Mark Old Backups")
               (directories "Mark Directories")
               (symlinks "Mark Symlinks")
               (mark-extension "Mark extension...")
               (mark-omitted "Mark omitted")
               (unmark-all "Unmark All")
               (marks "Change Marks...")
               (next "Next Marked")
               (prev "Previous Marked"))
         (regexp "Regexp"
                 (mark-cont "Mark Containing...")
                 (mark "Mark...")
                 (flag "Flag...")
                 (copy "Copy...")
                 (rename "Rename...")
                 (symlink "Symlink...")
                 (relsymlink-regexp "Relative symlink...")
                 (hardlink "Hardlink...")
                 (upcase "Upcase")
                 (downcase "Downcase")
                 (tumme-mark-tagged-files "Mark From Image Tag..."))
         (immediate "Immediate"
                    (wdired-change-to-wdired-mode "Edit File Names")
                    (wdired-mode "Edit File Names")
                    (create-directory "Create Directory...")
                    (find-file "Find This File")
                    (find-file-other-window "Find in Other Window")
                    (display "Display in Other Window")
                    (view "View This File")
                    (diff "Diff...")
                    (backup-diff "Compare with Backup")
                    (compare-directories "Compare Directories...")
                    (omit-mode "Omit mode")
                    (revert-buffer "Refresh")
                    (tumme-dired-display-image "Display Image")
                    (tumme-dired-display-external "Display Image Externally"))
         (subdir "Subdir"
                 (insert "Insert This Subdir")
                 (next-dirline "Next Dirline")
                 (prev-dirline "Prev Dirline")
                 (next-subdir "Next Subdir")
                 (prev-subdir "Prev Subdir")
                 (up "Up Directory")
                 (tree-up "Tree Up")
                 (tree-down "Tree Down")
                 (hide-subdir "Hide/UnHide Subdir")
                 (hide-all "Hide All")))
        ;;}}}
        ;;{{{  fold-mode
        (fold-mode-active
         (fold "Fold"
               (fold-hide "Hide Fold")
               (fold-show "Show Fold")
               (fold-show-all "Show All")
               (fold-whole-buffer "Fold Whole Buffer")
               (fold-region "Create Fold")))
        ;;}}}
        ;;{{{  cperl-mode
        ((eq major-mode 'cperl-mode)
         (Perl "Perl"
               (Beginning\ of\ function "Beginning of function")
               (End\ of\ function "End of function")
               (Mark\ function "Mark function")
               (Indent\ expression "Indent expression")
               (Fill\ paragraph/comment "Fill paragraph/comment")
               (Line\ up\ a\ construction "Line up a construction")
               (Invert\ if/unless/while\ etc "Invert if/unless/while etc")
               (Regexp "Regexp"
                       (Beautify "Beautify")
                       (Beautify\ one\ level\ deep "Beautify one level deep")
                       (Beautify\ a\ group "Beautify a group")
                       (Beautify\ a\ group\ one\ level\ deep "Beautify a group one level deep")
                       (Contract\ a\ group "Contract a group")
                       (Contract\ groups "Contract groups"))
               (Refresh\ \"hard\"\ constructions "Refresh \"hard\" constructions")
               (Indent\ region "Indent region")
               (Comment\ region "Comment region")
               (Uncomment\ region "Uncomment region")
               (Run "Run")
               (Kill "Kill")
               (Next\ error "Next error")
               (Check\ syntax "Check syntax")
               (Debugger "Debugger")
               (Tools "Tools"
                      (Imenu "Imenu")
                      (Insert\ spaces\ if\ needed "Insert spaces if needed")
                      (Class\ Hierarchy\ from\ TAGS "Class Hierarchy from TAGS")
                      (CPerl\ pretty\ print\ \(exprmntl\) "CPerl pretty print (exprmntl)")
                      (Imenu\ on\ info "Imenu on info")
                      (Tags "Tags"
                            (Create\ tags\ for\ current\ file "Create tags for current file")
                            (Add\ tags\ for\ current\ file "Add tags for current file")
                            (Create\ tags\ for\ Perl\ files\ in\ directory "Create tags for Perl files in directory")
                            (Add\ tags\ for\ Perl\ files\ in\ directory "Add tags for Perl files in directory")
                            (Create\ tags\ for\ Perl\ files\ in\ \(sub\)directories "Create tags for Perl files in (sub)directories")
                            (Add\ tags\ for\ Perl\ files\ in\ \(sub\)directories "Add tags for Perl files in (sub)directories")))
               (Perl\ docs "Perl docs"
                           (Define\ word\ at\ point "Define word at point")
                           (Help\ on\ function "Help on function")
                           (Help\ on\ function\ at\ point "Help on function at point")
                           (Help\ on\ symbol\ at\ point "Help on symbol at point")
                           (Perldoc "Perldoc")
                           (Perldoc\ on\ word\ at\ point "Perldoc on word at point")
                           (View\ manpage\ of\ POD\ in\ this\ file "View manpage of POD in this file")
                           (Auto-help\ on "Auto-help on")
                           (Auto-help\ off "Auto-help off"))
               (Toggle\.\.\. "Toggle..."
                             (Auto\ newline "Auto newline")
                             (Electric\ parens "Electric parens")
                             (Electric\ keywords "Electric keywords")
                             (Fix\ whitespace\ on\ indent "Fix whitespace on indent")
                             (Auto-help\ on\ Perl\ constructs "Auto-help on Perl constructs")
                             (Auto\ fill "Auto fill"))
               (Indent\ styles\.\.\. "Indent styles..."
                                     (CPerl "CPerl")
                                     (PerlStyle "PerlStyle")
                                     (GNU "GNU")
                                     (C++ "C++")
                                     (FSF "FSF")
                                     (BSD "BSD")
                                     (Whitesmith "Whitesmith")
                                     (Current "Current")
                                     (Memorized "Memorized"))
               (Micro-docs "Micro-docs"
                           (Tips "Tips")
                           (Problems "Problems")
                           (Speed "Speed")
                           (Praise "Praise")
                           (Faces "Faces")
                           (CPerl\ mode "CPerl mode")
                           (CPerl\ version "CPerl version"))))
        ;;}}}
        ;;{{{  c-mode
        ((eq major-mode 'c-mode)
         (C "C"
            (Comment\ Out\ Region "Comment Out Region")
            (Uncomment\ Region "Uncomment Region")
            (Indent\ Expression "Indent Expression")
            (Indent\ Line\ or\ Region "Indent Line or Region")
            (Fill\ Comment\ Paragraph "Fill Comment Paragraph")
            (Backward\ Statement "Backward Statement")
            (Forward\ Statement "Forward Statement")
            (Up\ Conditional "Up Conditional")
            (Backward\ Conditional "Backward Conditional")
            (Forward\ Conditional "Forward Conditional")
            (Macro\ Expand\ Region "Macro Expand Region")
            (Backslashify "Backslashify")
            (Toggle\.\.\. "Toggle..."
                          (Syntactic\ indentation "Syntactic indentation")
                          (Electric\ mode "Electric mode")
                          (Auto\ newline "Auto newline")
                          (Hungry\ delete "Hungry delete")
                          (Subword\ mode "Subword mode"))))
        ;;}}}
        ;;{{{  c++-mode
        ((eq major-mode 'c++-mode)
         (C++ "C++"
              (Comment\ Out\ Region "Comment Out Region")
              (Uncomment\ Region "Uncomment Region")
              (Indent\ Expression "Indent Expression")
              (Indent\ Line\ or\ Region "Indent Line or Region")
              (Fill\ Comment\ Paragraph "Fill Comment Paragraph")
              (Backward\ Statement "Backward Statement")
              (Forward\ Statement "Forward Statement")
              (Up\ Conditional "Up Conditional")
              (Backward\ Conditional "Backward Conditional")
              (Forward\ Conditional "Forward Conditional")
              (Macro\ Expand\ Region "Macro Expand Region")
              (Backslashify "Backslashify")
              (Toggle\.\.\. "Toggle..."
                            (Syntactic\ indentation "Syntactic indentation")
                            (Electric\ mode "Electric mode")
                            (Auto\ newline "Auto newline")
                            (Hungry\ delete "Hungry delete")
                            (Subword\ mode "Subword mode"))))
        ;;}}}
        ))

;;; english-menu.el ends here
